// pages/goods_list/index.js
import {request} from "../../utils/util";
const app=getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        navlist:[
            {
                id:1,
                name:'综合',
                isselect:true
            },{
                id:2,
                name:'销量',
                isselect:false
            },{
                id:3,
                name:'价格',
                isselect:false
            }
        ]
    },
    //查询的参数
    queryparams:{
        query:'',
        cid:'',
        pagenum:1,//当前页
        pagesize:10//每页的条数
    },
    //Nav点击改变
    bindchangitem(e){
        let res=this.data.navlist.filter((item)=>{
            if(item.id===e.detail.id){
                item.isselect=true
            }else{
                item.isselect=false;
            }
            return item;
        })
        this.setData({
            navlist:res
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        //获取传过来的类别ID
        this.queryparams.cid=options.cat_id || '';
        this.queryparams.query=options.query || '';
        this.getgoodslist();
    },
    //获取列表数据
    async getgoodslist(){
        //请求数据
      let re=await  request({
            url:`${app.globalData.url}goods/search`,
            data:this.queryparams,
        });
        //判断是下拉加载还是第一次加载
        if(this.queryparams.pagenum!==1){//下拉加载
            if (re.meta.status === 200) {//获取成功
                //合并数组
                this.setData({
                    goodslist: [...this.data.goodslist,...re.message.goods],
                });
            }else{
                //失败
                wx.showToast({
                    title: re.meta.msg,
                    icon: 'error',
                    duration: 2000,
                    mask:true
                })
            }
        }else{
            //第一次加载
            if(re.meta.status==200){//成功
                //获取总条数
                const total=re.message.total;
                //计算总页数 保存列表
                this.setData({
                    goodslist: re.message.goods,
                    totalpage:Math.ceil(total/this.queryparams.pagesize)
                });
            }else{//失败
                wx.showToast({
                    title: re.meta.msg,
                    icon: 'error',
                    duration: 2000,
                    mask:true
                })
            }
        };
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
       this.setData({
           goodslist:[],
       });
       this.queryparams.pagenum=1;
       this.getgoodslist();
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: async function () {
        if(this.queryparams.pagenum===this.data.totalpage){
            wx.showToast({
                title: '没有数据啦！',
                mask:true
            });
        }else{
            //触底增加
            this.queryparams.pagenum++;
            this.getgoodslist();
        }
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})
